<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        // push pop 栈方法
        // unshift shift 队列方法
        // splice() 增删改
        // splice(开始的索引,几个,添加的元素1,..元素n);
        // 增 splice(开始的索引,0,元素1,...,元素n);
        // 删 splice(开始的位置,5);
        // 改 splice(开始的位置,5,元素1,...元素n)
        // 剪切几个返回几个 剪切了0个就返回空数组 
        // reverse()
        // sort()
        // ==================原数组都变了  

        /// ============ 原数组不变然后返回新的数组  


        // slice() 

        // concat() 多个数组的拼接 
        // join()  // 数组拼接成子复查u能 
        // indexOf() // 默认下标从0开始 
        //lastIndexOf()


        // slice()
        // slice(开始的索引,结束的索引); // [开始的索引,结束的索引)
        // [4,9)   大于等于4并且小于9 => 4 5 6 7 8 
        // 作用截取数组的部分或者全部内容 
        // 返回值 是一个新的数组  
        // slice()方法支持索引为负数 
        // 截取的顺序一定是从左往右 
        //            0        1       2      3      4      5
        //           -6          -5     -4    -3    -2      -1
        // var heros = ['安琪拉','猪八戒','李白','赵云','大乔','小乔'];
        // document.write(heros,"<br />");
        // var res = heros.slice(2,5);
        // document.write(res,"<br />"); //李白,赵云,大乔 
        // document.write(heros,"<br />");

        // document.write(heros,"<br />");
        // var res = heros.slice(0); // 有头无尾 没有尾巴那就全要 
        // document.write(res,"<br />"); //李白,赵云,大乔 
        // document.write(heros,"<br />");

        // document.write(heros,"<br />");
        // var res = heros.slice(-5,-2); // 有头无尾 没有尾巴那就全要 
        // document.write(res,"<br />"); //李白,赵云,大乔 
        // document.write(heros,"<br />");
        // alert(heros[-1]) // 只有slice这个方法支持 下标为负数 
        // 其它不支持 所以上述返回 undefined  


        // 复制一个一模一样的数组  
        // var arrs = heros.slice(0);


        // concat()
        // 作用 是拼接数组 
        // 返回值是拼接好的数组  这是一个新的数组 
        // 不会对原数组产生任何的影响  

        // var arr1 = ['a','b','c'];
        // var arr2 = [1,2,3];

        // var res1 = arr1.concat(arr2);
        // var res2 = arr2.concat(arr1);

        // document.write(arr1,"<br />");
        // document.write(arr2,"<br />");
        // document.write(res1,"<br />");
        // document.write(res2,"<br />");


        // join()
        // 数组.join('连接符');
        // 下面的数组可以看做一条黄瓜被切成了一片一片的 
        // join就是用502将黄瓜片连成一条黄瓜

        // 数组转字符串 
        // var test = ['l','o','v','e','墙','眼睛','膝盖'];
        // var res = test.join('♥');

        // document.write(test,"<br />");
        // document.write(res,typeof res,"<br />");


        // indexOf()
        // 数组.indexOf('元素');
        // 数组.indexOf('元素','开始的位置');

        // 返回元素在数组中第一次出现的索引  
        // 数组.indexOf('元素','开始的位置'); 从指定的位置开始查找 元素在
        // 数组中第一次出现的位置  
        // 从左往右  
        //找不到 返回 -1 




    // var heros = ['安琪拉','猪八戒','李白','赵云','安琪拉','大乔','小乔'];
    // // alert(heros.indexOf('安琪拉'));
    // alert(heros.indexOf('安琪拉',3));// 从下标3的位置开始往右找
    // 返回找到的第一个安琪拉所在的数组中的索引 


        // lastIndexOf()
        // 数组.lastIndexOf('元素');
        // 数组.lastIndexOf('元素','开始的位置');

        // 返回元素在数组中第一次出现的索引  
        // 数组.indexOf('元素','开始的位置'); 从指定的位置开始查找 元素在
        // 数组中第一次出现的位置  
        // 从右往左
        // 找不到 返回 -1 

    var heros = ['诸葛亮','周瑜','安琪拉','猪八戒','李白','赵云','安琪拉','大乔','小乔'];
    // alert(heros.lastIndexOf('安琪拉')); //4 从右往左 首先看到的是右边的安琪拉
    // // 返回它的索引  

    alert(heros.lastIndexOf('安琪拉',1));  // -1 找不到 返回 -1  
        
    // 1-33
    // 1-17=6
    var ball = parseInt(prompt('请输入球的号码:1-33'))
    // 双色球 要求不能重复  现在是5个求 还差一个  
    // 让用户输入求 如果数组中已经存在这个求了 那么不忘数组中加
    // 如果数组中不存在这个求,那么就把这个球加入到数组中   
    var redball = [1,2,3,4,5];
    if(redball.indexOf(ball) == -1){
        redball.push(ball);
    }
    // unshift push 
    alert(redball);
    </script>
</body>
</html>